<!DOCTYPE html>
<!--
@license
Copyright (c) 2014 The Polymer Project Authors. All rights reserved.
This code may only be used under the BSD style license found at http://polymer.github.io/LICENSE.txt
The complete set of authors may be found at http://polymer.github.io/AUTHORS.txt
The complete set of contributors may be found at http://polymer.github.io/CONTRIBUTORS.txt
Code distributed by Google as part of the polymer project is also
subject to an additional IP rights grant found at http://polymer.github.io/PATENTS.txt
-->
<link rel="import" href="../../../polymer.html">

<dom-module id="dynamic-element">
  <template>
    <span id="content">dynamic-element</span> : 
  </template>
</dom-module>
<script>
  Polymer({
  
    is: 'dynamic-element',

    ready: function() {
      var url = this.resolveUrl('outer-element.html');
      this.importHref(url, function() {
        this.$.outer = document.createElement('outer-element');
        Polymer.dom(this.root).appendChild(this.$.outer);
        this._hasContent = true;
        if (this._callback) {
          this._callback();
        }
      }, function() {
        assert.fail('failed to load import', url);
      });
    },

    whenDynamicContentReady: function(callback) {
      this._callback = callback;
      if (this._hasContent) {
        this._callback();
      }
    }

  });
</script>